import { defineStore } from 'pinia'
import { ref } from 'vue'

interface iUser {
    loginState: boolean
    userid: string
    token: string
}

export const useUserStore = defineStore('user', () => {
    // 自己定义全局数据
    // 用户状态
    const loginState = ref(localStorage.getItem('loginState') == 'true')
    // 用户 id
    const userid = ref(localStorage.getItem('userid') || '')
    // 用户 token 
    const token = ref(localStorage.getItem('token') || '')

    // 自己定义修改全局数据的方法
    function changeUserState(userinfo: iUser) {
        loginState.value = userinfo.loginState
        userid.value = userinfo.userid
        token.value = userinfo.token
    }

    // 自己定义计算属性

    // 将这些东西 return 出去
    return {
        loginState,
        userid,
        token,
        changeUserState
    }
})